In the previous chapter, we reviewed the basics of object-oriented programming and how you can put objects to good use to develop more concise and robust applications. In this chapter, we dive into more advanced topics than we touched upon in Chapter 6—such as polymorphism, secondary interfaces, events, inheritance, and object hierarchies—that extend the OOP potential even further. In a sense, the division of the treatment of classes and objects into two distinct chapters reflects the chronological development of object-oriented features: most of the basic features described in Chapter 6 appeared for the first time in Microsoft Visual Basic 4, while this chapter is mostly focused on improvements added in Visual Basic 5 and inherited without any substantial change in Visual Basic 6.